package cn.iocoder.yudao.module.trade.api.brokerage;

import cn.iocoder.yudao.module.trade.api.brokerage.dto.BrokerageUserDTO;

import java.util.List;

/**
 * @author zyc
 * @createDate 2024/5/8 09:28
 */
public interface BrokerageUserApi {

    /**
     * 获得推广员下的所有用户信息
     *
     * @param id 推广员id
     * @return 推广员下的用户id
     */
    List<Long> getUserIdList(Long id);

    /**
     * 获取推广员id
     * @param userId
     * @return
     */
    BrokerageUserDTO getBindUserId(Long userId);

    /**
     * 获取推广员id
     * @param userId
     * @return
     */
    BrokerageUserDTO getInfoByUserId(Long userId);

    /**
     * 创建上下级关系
     * @param dto
     * @return
     */
    Integer addBrokerageUser(BrokerageUserDTO dto);


    /**
     * 修改佣金记录
     * @param data
     * @return
     */
    Boolean updateBrokerageUser(BrokerageUserDTO data);

    /**
     * 获取推广信息
     * @param bindUserId
     * @param loginUserId
     * @return
     */
    BrokerageUserDTO getInfoByUserIds(Long bindUserId, Long loginUserId);
}
